package cn.zzdt4j.auth.service;

import cn.zzdt4j.auth.model.biz.permission.PermissionReqDTO;
import cn.zzdt4j.auth.model.biz.permission.PermissionRespDTO;

import java.util.List;

/**
 * Permission service.
 *
 * @author by <a href="mailto:ligang941012@gmail.com">gang.Li</a>
 * @since 2023/10/30 0:23
 */
public interface PermissionService {

    /**
     * list permission by username
     *
     * @param username username
     * @return permission resp list
     */
    List<PermissionRespDTO> listPermissionByUserName(String username);

    /**
     * Binding permission by username.
     *
     * @param username                   username
     * @param permissionRequestParamList permission request param list
     */
    void bindingPermissionByUsername(String username, List<PermissionReqDTO> permissionRequestParamList);

    /**
     * Remove permission.
     *
     * @param username username
     */
    void deletePermission(String username);
}
